package game.model.request;

import common.model.po.GMilestoneRequirement;
import common.model.po.GMilestoneUnlock;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author 米泽鹏
 * @since 2022-3-5 下午 12:26
 */
@Data
public class SaveMilestoneRequest {

	/**
	 * 主键
	 */
	private Long id;

	/**
	 * 里程碑名称
	 */
	@NotBlank(message = "里程碑名称不能为空")
	private String name;

	/**
	 * 里程碑等级
	 */
	@NotNull(message = "里程碑等级不能为空")
	private Integer level;

	/**
	 * 里程碑耗时
	 */
	@NotNull(message = "里程碑耗时不能为空")
	private BigDecimal duration;

	/**
	 * 前置里程碑id
	 */
	private Long preconditionId;

	/**
	 * 图片地址
	 */
	@NotBlank(message = "图片地址不能为空")
	private String image;

	/**
	 * 同级排序
	 */
	@NotNull(message = "同级排序不能为空")
	private Integer sort;

	/**
	 * 成本项
	 */
	@NotEmpty(message = "成本项不能为空")
	private List<GMilestoneRequirement> requirementList;

	/**
	 * 解锁项
	 */
	@NotEmpty(message = "解锁项不能为空")
	private List<GMilestoneUnlock> unlockList;

}
